AN020 1080P Video Distribution
2.4.4 RS-485/422 (4)
This sheet has RS485 transceivers for the control/status daisy chain (max 250 kbit/s), RS422 transmitter and receiver
for talking with the Sunrise LED module, and level shifters for all those. 3.3V transceivers are used because this gives
better common mode capability; those with 3.3V differential sides and 1.8V logic sides are more expensive than is the
combination of 3.3V-only parts with a level shifter. RJ45s are used for these interfaces although in production these
connectors will probably be omitted.
2.4.4.1 Control/Status Daisy Chain
Note! The simplest/cheapest way we see to manage the control channel is a single serpentine daisy chain fed by a
single RS485 interface on the Control Board, leading to the top of the left most column (column zero) of modules.
The daisy chain proceeds, with half duplex single-pair RS485 connections, down that column with each module's
"next" line connected to the "previous" input of the next lower module. From the bottom most module of column
zero, its "next" line connects to the "previous" line of the bottom module in column 1. The daisy chain proceeds
upward from there with each module's "next" line connected to the "previous" line of the next upper module. At the
top of column 1, that module's "next" feeds the "previous" line of the top module in column 2, and so on.
This requires wiring odd and even numbered column distribution assemblies differently. There might be other ways
but that would imply different code in modules destined for odd or even columns, with different floor planning
problems, or else jumpering or other trace routing options to configure a board for odd or even columns. We think
the wiring is the lesser of evils, but the trace routing option would work equally well without software change...
although once assembled the odd and even cable assemblies would still not be interchangeable, and if the trace
routing option was destructive the PCBs themselves would not be, either.
With the serpentine method, reset can be propagated through the daisy chain for sign power-up, and it is possible to
plan for selective reset of a given module. Sequential serpentine module addresses become known to each module
during power-up and can be stored in flash. Once all modules have unique addresses, each can be informed of its
configuration parameters including position in column, dimensions of associated LED module, and so on, all of which is
known to the control processor.
This page includes a serpentine reset circuit that allows the previous module in the control/status daisy chain to reset
us by holding its signal in the physical low state (same state as start bit but for a very long time like a BREAK signal).
When this line is in input mode it is monitored for a reset signal. RC network R406 (10k) and C413 (1 uf) accumulates
charge with a 10 ms time constant. Whenever the signal line from previous module goes physical high (stop bit, idle),
this charge is shorted to ground through an N transistor. When the charge is allowed to build to normal VIH for 1.8V
CMOS parts, something on the order of 7 ms, a low signal is sent to the main reset circuit. We will probably be running
at least on the order of 9600 baud so this should be safe. The time constants of all modules are additive for resetting
the whole sign; 2000 times 7 ms is already 14 seconds, so this could get out of hand in a hurry.
Test points are provided for differential probing of the data lines from the previous module PCB. Jumper J403 provides
for disabling the daisy chain reset.
The RS485 transceiver circuitry is presently wired such that rest state is high on the single-ended lines, consistent with
the fail-safe mode of the receivers. TR+ (pin 2) of the connectors is high and TR- low in rest state. On the module
boards, the data lines for all outputs are pulled weakly high (10K) to overcome the weak pull-downs (40K) when the
GA144 is in reset; and the direction lines for the transceivers are weakly pulled down to ensure input mode on both
sides of the daisy chain. Data lines on the control board are pulled up as well. Thus the states of all the lines are high
when the GA144 is in reset, when the lines are idle, and when a cable is open or unplugged. Note that this is the
opposite polarity as normally used for GA144 serial I/O.
The RS485 line from the previous module is in input mode at reset and will be in input mode at all other times except
when we are transmitting to the previous module. Thus, normally we can be reset by the preceding module. Warning:
If a module ever sticks in output mode on its line to the preceding module, the stuck module may no longer be reset by
the daisy chain until it becomes un-stuck or power is cycled.
Copyright© 2015 GreenArrays, Inc. 11/06/17
22